const OfflinePlugin = require('offline-plugin')
module.exports = {
  publicPath: './',
  productionSourceMap: false, // 生产环境是否生成 sourceMap 文件

  //webpack配置
  chainWebpack: config => {
    // 修复HMR
    config.resolve.symlinks(true);
  },
  configureWebpack: config => {
    //调试JS
    config.devtool = "source-map";
    plugins: [
      new OfflinePlugin({
        // 要求触发ServiceWorker事件回调
        ServiceWorker: {
          events: true
        },
        // 更更新策略选择全部更新
        updateStrategy: 'all',
        // 除去一些不需要缓存的文件
        excludes: ['**/.*', '**/*.map', '**/*.gz', '**/*.png', '**/*.jpg'],

        // 添加index.html的更新
        rewrites(asset) {
          if (asset.indexOf('index.html') > -1) {
            return './index.html'
          }
          return asset
        }
      })
    ]

  },
  css: {
    sourceMap: true // 开启 CSS source maps?
  }
};
